Method and system for constant temperature control of motorized spindles

ABSTRACT

The present invention provides a method and system for controlling the temperature of an electric motor by adjusting the electric losses in the motor. In an embodiment, the required load on the motor is determined and a first motor voltage is provided to meet the required load. A predetermined temperature set point for the motor is compared against the temperature of the motor and based on the temperature of the motor and the predetermined temperature set point, a secondary motor voltage is determined. The motor voltage may then be adjusted based on the calculated voltage and the motor load measurement adjusted based on the measured motor speed and actual motor voltage.

TECHNICAL FIELD

The present invention relates to a system method and apparatus for constant temperature control of motorized spindles.

BACKGROUND OF INVENTION

Motorised spindles are driven by electric motors whose stator and rotor are integral parts of the spindle. Typically, spindles are used in an environment of unpredictable speed and torque loads, leading to varying losses in the motor, which consequently causes temperature variations. As a result, the motorised spindle experiences dimension variations that cause changes in the dimensions of the workpiece. When accuracy is required at high tolerance levels (i.e. micron and sub-micron levels), even very minor dimensional changes due to temperature can have an effect on the production of accurately machined parts. Such thermal effect in motorised spindles is still an open problem.

One existing approach to reduce the effect of thermal effect is to “warm up” the motorised spindle to operating temperature before the machining operations commence, and then maintaining this operation temperature.

One way to control the operating temperature is to carefully control the load (i.e. the motor speed and load on the motor) such that the motor loss is more or less the same as heat dissipation.

Another way of maintaining the operating temperature is to actively control the coolant temperature. This normally requires a temperature control system in which the coolant temperature can be measured and the coolant can be heated up or/and cooled down so that any dimensional changes (due to temperature) occur prior to machining taking place. However, a problem with this arrangement is that it increases the set-up time/down time which is undesirable and is problematic when there are further temperature changes and therefore further dimensional changes during machining.

It would therefore be desirable to provide a system method and apparatus which ameliorates or at least alleviates one or more of the above problems.

Before turning to a summary of the present invention, it will be appreciated that the discussion of the background to the invention is included to explain the context of the invention. This is not to be taken as an admission that any of the material referred to is published, known or part of the common general knowledge.

SUMMARY OF INVENTION

The present invention provides a method to exploit the motor capability so as to actively control the motor temperature with a temperature controller embedded in the motor drive. The method may be applied in embedded axis drives and a variety of motor types, including but not limited to: rotary motors, linear motors, motorised spindles, synchronous motors including permanent magnet spindle motors and asynchronous motors including induction motors. In applications where the motor is an integral part of a larger component such as a spindle, the heat losses are then transferred to other components of the spindle which can cause proportional dimensional changes. Even minor dimensional changes can have a significant effect on the production of accurately machined work pieces. Heat can also be dissipated from the motor to other machine components in the vicinity of the motor. This is particularly problematic for high precision machines with thermally sensitive components in the vicinity of the motor. In high precision machines, the thermal effect on the accuracy and repeatability of the machine can be significant. The invention can be applied to reduce the thermal effect on these components or affect the components in a more predictable manner.

It will be appreciated that the term ‘load’ refers to the load on the motor together with the speed of the motor, so the required load may include both the load required of the motor and the required speed of the motor. This may be rotary or linear for example, depending on the type of motor.

In a first aspect, the present invention provides method of controlling the temperature of an induction motorized spindle by adjusting the electric losses in the induction motorized spindle, including the steps of: (a) determining the required load on the induction motorized spindle and providing a first motor voltage to meet the required load; (b) providing a predetermined temperature set point for the induction motorized spindle; (c) determining the temperature of the induction motorized spindle; (d) comparing the temperature of the induction motorized spindle against the predetermined temperature set point; (e) determining, based on the temperature of the induction motorized spindle and the predetermined temperature set point, a secondary motor voltage; (f) adjusting the motor voltage based on the calculated voltage in steps (a) and (e).

The present invention determines the required load on the motor and adjusts a first voltage to meet the required load. In the event that the temperature is below the threshold temperature, a second voltage may be applied to the motor which may increase the temperature towards the predetermined temperature set point. Advantageously, while some motor efficiency is sacrificed, the motor operates at a constant temperature which in applications such as CNC systems, allows for a reduction in a likelihood of dimensional changes due to temperature while machining.

Step (f) may include increasing the second motor voltage if the temperature is below the predetermined temperature. In an alternative, step (f) may include decreasing the second motor voltage if the temperature is above the predetermined temperature set point.

In an alternative, the motor may be an induction motor where step (f) includes varying the flux in the motor by varying the motor voltage.

The predetermined temperature may be a temperature range or may be a specific temperature. Preferably, at step (d), the temperature of the motor is compared against the predetermined temperature set point over a predetermined time period. The predetermined time period may be 120 ms.

In a second aspect, the present invention provides a method of controlling the temperature of a synchronous motorised spindle where the varying losses are modified by varying flux producing current, and still satisfying load and speed requirements, wherein the method includes the steps of: (a) determining the required load on the synchronous motorised spindle and providing a first motor voltage to meet the required load; (b) providing a predetermined temperature set point for the synchronous motorised spindle; (c) determining the temperature of the synchronous motorised spindle; (d) comparing the temperature of the synchronous motorised spindle against the predetermined temperature set point; (e) adjusting the motor flux producing current, and still satisfying load and speed requirements.

In a third aspect, the present invention provides, a system for controlling the temperature of an induction motorized spindle by adjusting the electric losses in the induction motorized spindle, the system including: an interface for providing one or more parameters to a CNC component which controls one or more drive units and in turn one or more induction motorized spindles, the CNC component programmed to: (a) determine the required load on the induction motorized spindle and providing a first motor voltage to meet the required load; (b) provide a predetermined temperature set point for the induction motorized spindle; (c) determine the temperature of the induction motorized spindle; (d) compare the temperature of the induction motorized spindle against the predetermined temperature set point; (e) determine, based on the temperature of the induction motorized spindle and the predetermined temperature set point, a secondary motor voltage; (f) adjust the motor voltage based on the calculated voltage in steps (a) and (e); and (g) adjust the motor load measurement based on the measured motor speed and actual motor voltage.

Preferably the predetermined temperature set point for the motor of step (b) is set by the operator depending on the desired load sequence.

Preferably step (g) includes incorporating a motor datasheet associated with the motor, when adjusting the motor load measurement. For example, normal motor speed control may be applied using the normal V/F from the motor datasheet.

In a fourth aspect, the present invention provides a system for controlling the temperature of a synchronous motorized spindle, wherein the losses are modified by varying a flux producing current, and still satisfying load and speed requirements, the system further including: an interface for providing one or more parameters to a CNC component which controls one or more drive units and in turn one or more synchronous motorized spindles, the CNC component programmed to: (a) determine the required load on the synchronous motorized spindle and providing a first motor voltage to meet the required load; (b) provide a predetermined temperature set point for the synchronous motorized spindle; (c) determine the temperature of the synchronous motorized spindle; (d) compare the temperature of the synchronous motorized spindle against the predetermined temperature set point; and (e) adjust the motor flux producing current, and still satisfying load and speed requirements.

In a fifth aspect, the present invention provides an electric motor control system including: an interface for providing one or more parameters to one or more drive units which regulates the temperature of one or more motors by adjusting the motor's terminal voltage whilst maintaining specified speed and torque, wherein the motor is integrated into a machine tool spindle.

Preferably, the motor is integrated into a machine tool spindle. It will be appreciated that the motor may be a synchronous motor or an induction motor, where its losses are modified by varying voltages in phase with the motor flux.

In a sixth aspect, the present invention provides a method of controlling the temperature of an electric motor having a motorised spindle and constant temperature controller including the steps of: (a) providing a desired temperature set point for the motorised spindle; (b) selectively applying, in response to the status of the constant temperature controller: (i) constant voltage/frequency to control the speed of a motor where the constant temperature controller is disabled; else (ii) a controlled voltage to the motor such that there is sufficient power to rotate the motor for the given speed and load and adjusting the temperature via the constant temperature controller.

Preferably, the method further includes: determining the speed of the motorised spindle and in response to the speed of the motorised spindle being equal to zero; (i) controlling the motorised spindle via constant temperature control at zero speed; else, if the speed is not zero: (ii) applying a controlled voltage to the motor such that there is sufficient power to rotate the motor for the given speed and load and adjusting the temperature via the constant temperature controller.

BRIEF DESCRIPTION OF DRAWINGS

FIG. 1a is a schematic diagram of typical elements in a CNC controlled motorised spindle system, on which the present invention may operate;

FIG. 1b is a schematic diagram of typical elements in a CNC controlled motorised spindle system, including multiple axis driven by the motorised spindle;

FIG. 2a is a flow diagram illustrating a method of the present invention for controlling the temperature of the electric motor by adjusting the electric losses;

FIG. 2b is a flow diagram illustrating a method of the present invention for controlling the temperature of a synchronous motor, wherein the losses are modified by varying a synchronous voltage in phase with the motor flux;

FIG. 2c is a flow diagram illustrating the method of the present invention; including detail of steps for constant temperature control in operation;

FIG. 3a is a schematic diagram, illustrating the operation of a constant voltage/frequency speed control of an induction motor;

FIG. 3b is a schematic diagram, illustrating V/F control of an induction motor, with constant temperature control;

FIG. 4 is a schematic diagram illustrating the operation of the constant temperature controller of FIG. 3 b; and

FIG. 5 is a flow diagram illustrating a further embodiment of a method of the present invention including detail of steps for constant temperature control.

DETAILED DESCRIPTION

FIG. 1a is a schematic diagram of typical elements in a CNC (computer numerical controlled) system 100 used to control one or more motors and/or one or more motorised spindles. The present invention will be described with reference to motors involved in CNC environments and machine tooling but need not be limited to that. The present invention may be applied to control different types of motors in any application where constant temperature is required. In the preferred embodiment, the CNC system 100 is capable of machining complex parts to micron level tolerances.

The term ‘motorised spindle’ as used in this specification may be a motor, a spindle, or a motorised spindle. As will be appreciated, the motor 135 need not be a rotary or linear type, it could take any form including permanent magnet spindles for example. In the first embodiment, the motor 135 is an induction motor. It will be understood that in this embodiment, the magnetic flux generated by the induction motor is proportional to the voltage applied to the induction motor.

In the embodiment, the load (i.e. its speed and the load) of the motor is of primary concern and temperature is of secondary concern. The temperature variation is limited to the minimum range.

The CNC system 100 includes a user interface 105 where various parameters may be entered relating to the CNC system 100. One of the parameters may be a desired set temperature at which the motor is to be kept. The user interface 105 may have a number of components such as a part program interpreter, a programmable logic controller and a servo command interpolator and the like (not shown). A CNC component 110 may send position and/or velocity commands to a drive unit 115 to control the motor or the motorised spindle 135 in the preferred embodiment. It will be noted that a thermistor 140 is embedded in the motor winding, to measure the motor temperature and feedback the read temperature to the drive, as shown in FIG. 1 a.

In addition, an encoder or proxy switch 130 is provided to obtain and accept the position and velocity feedback from the motor to the drive 115. It will be appreciated that there may be one or more motors 135 controlled by the system 100.

The CNC system 100 may also include a number of moveable axes each associated with a separate motor 125 and its drive 112, as shown in FIG. 1 b. Each motor 135 is controlled by a voltage provided by its associated drive 115. When the motor 135 is in operation it converts electrical energy into rotary or linear movement.

As shown in FIG. 1 b, it will be appreciated the CNC system 100 may also include multiple motorised spindles 115 and each of these can be controlled by the method of the present invention. For clarity, FIG. 1b shows one motorised spindle 115 only. As the motor 135 operates to meet the required varying speed and load requirements, its temperature rises and falls according to heat losses.

The present invention comprises a method to explore the motor capability so as to actively maintain the motor temperature without needing an extra temperature controller. The motor temperature is controlled by a software method embedded in the drive that controls the motor. Advantageously this does not require extra hardware.

FIG. 3a is a diagram 300 showing a constant voltage/frequency approach, to control the speed of a motor 135, known as a V/F curve. A number of components 305 common to FIGS. 3a and 3b are provided, including the V/F curve 320, a commutation component 325, calculation component 330, induction motor 335 and spindle load update component 340.

FIG. 3b is a diagram showing constant voltage/frequency control of an induction motor, according to the method of the invention.

While the present example describes the control strategy for controlling a motor 335 in the form of scalar control (V/F) to achieve constant temperature of the motor in a closed loop system; it will be appreciated that other methods may be provided such as vector control and direct torque control.

As shown in FIG. 3 b, voltage V2 is an adjustable parameter that is applied to the V/F curve.

As shown in FIG. 1 a, this is achieved by measuring the required load on the motorised spindle 135 and adjusting the motor voltage via the drive 115 to maintain constant temperature and meet the required load/speed. In the event that the temperature is below a threshold temperature set point, the voltage of the motor may be increased by applying a second voltage (V_(2b) which will be further described with reference to FIG. 4) which may increase the temperature towards the predetermined temperature set point.

While some motor efficiency is sacrificed, the motor 135 operates at a constant temperature, which in applications such as CNC systems 100, advantageously allows for a reduction in a likelihood of dimensional changes due to temperature, and the resulting effect on the production of accurately machined work pieces in the preferred embodiment of machine tools.

FIG. 2a is a flow diagram illustrating a method 200 a of the present invention for controlling the temperature of the electric motor by adjusting the electric losses. The method may be carried out in software or firmware within hardware on a CNC system 100 or may reside in a computer associated with a system which controls operation of a motorised spindle 135.

The method 200 a begins at step 205 a where the required load on the motor is determined and a first motor voltage is provided to meet the required load. Control then moves to step 210 a where a predetermined temperature set point is provided for the motor. Control moves then to step 215 a where the temperature of the motor is determined before control moves to step 220 a where the temperature of the motor is compared against the predetermined temperature set point. Control then moves to step 225 a where it is determined, based on the temperature of the motor and the predetermined temperature set point and a secondary motor voltage before control moves to step 230 a where the motor voltage is adjusted based on the calculated voltage in steps 205 a and 225 a. Control then moves to step 235 a where the motor load measurement is adjusted based on the measured motor speed and actual motor voltage.

FIG. 2b is a flow diagram illustrating a method 200 b of the present invention for controlling the temperature of a synchronous motor, wherein the losses are modified by varying a synchronous voltage in phase with the motor flux. The method may be carried out in software or firmware within hardware on a CNC system 100 or may reside in a computer associated with a system which controls operation of a motorised spindle 135.

The method 200 b begins at step 205 b the required load on the motor is determined and a first motor voltage to meet the required load is provided. Control then moves to step 210 b where a predetermined temperature set point for the motor is provided. Control then moves to step 215 c where the temperature of the motor is determined before control then moves to step 220 b where the temperature of the motor is compared against the predetermined temperature set point. Control then moves to step 225 b where motor synchronous voltage is adjusted in phase with the motor flux.

FIG. 2c is a flow diagram illustrating the method 200 c of an embodiment of the present invention which may lie in software or firmware within hardware on a CNC system 100 or may reside in a computer associated with a system which controls operation of a motorised spindle 135.

The method 200 c begins at step 205 c, where a user may, via the user interface 105 of FIG. 1 a, enter a desired temperature set point for the motorised spindle 135.

Control then moves to step 210 c, where it is determined whether or not the motorised spindle has been activated (for example by the user via user interface 105).

In the event that the motorised spindle 135 is activated, control moves to step 215 c in which it is determined whether the constant temperature controller 310 is enabled otherwise, if at step 210 c the motor spindle has not been activated, control returns to step 205 c.

If step 215 c determines that the constant temperature controller 310 is enabled, control moves to step 220 c in which the motorised spindle 135 is controlled via voltage provided from the drive for the motorised spindle 115 as per FIG. 1 a. The motorised spindle 135, as per FIG. 1 a, is fitted with an encoder/proxy switch 130 to provide feedback signals on the position or velocity of the motorized spindle 135 and temperature by the thermistor 140. As noted above, the drive 115 controls the position and speed of the motorised spindle 135 and may store data generated while the motorised spindle 135 is in operation.

Returning to FIG. 2 c, control then moves to step 220 c in which the control voltage to the motor will be adjusted such that there is sufficient power to rotate the motor for the given speed and load and the temperature is also adjusted.

The constant temperature controller 310 will be further described with reference to FIGS. 3b and 4. The calculation performed in step 220 c is performed by the constant temperature controller 310 in FIG. 3 b.

The operation of the first embodiment of the constant temperature controller 310 consists of processing components 1, 2 and 3 as shown in FIG. 4.

The calculation of V2, to be used in step 225 c of the flow diagram 200 c is shown in FIG. 4.

Voltage V2 is the sum of the outputs of processing components 1 and 2. The input for processing component 1 is the spindle load percentage L_(sd) which is the spindle load percentage provided from the encoder. The output of processing component 1 is voltage V_(2a), which is the minimum value for V2 on the V/F curve of FIG. 3 a, such that the motor provides sufficient power to rotate the spindle for the given spindle load L_(sd).

Processing component 2 further adjusts the voltage V2, so that the temperature can be adjusted as the magnetic flux is adjusted.

As shown in FIG. 4, processing component 2 receives T_(measured) as an input which is the actual motor temperature in degrees and T_(set) which is the desired motor temperature set by the operator in degrees. The difference between these temperatures is an input for processing component 2. Processing component 2 provides its output voltage V_(2b) which is an additive breakpoint 2 voltage for constant temperature control measured in volts.

Outputs V_(2b) and V_(2a) are summed at a junction to provide V₂ which is the voltage at breakpoint 2 (P₂) measured in volts. V₂ is then an input for component 320 in FIG. 3 b. Component 320 outputs voltage V, the voltage magnitude determined for spindle speed WCMD as shown in FIG. 3 b.

As shown in FIG. 3 b, the output of the Constant Temperature Controller, V2, is applied to the V/F curve of the Induction Motor.

As shown in FIG. 4, in an embodiment, described further with reference to FIG. 5, processing component 3 receives T_(measured) as an input which is the actual motor temperature in degrees and T_(set) which is the desired motor temperature set by the operator in degrees. The difference between these temperatures is an input for processing component 3. Processing component 3 provides its output voltage magnitude (V) for the spindle at zero speed.

Returning to FIG. 2 c, control then moves to step 225 c where it is further determined whether or not the cycle has ended and if it has, control moves to step 235 c, otherwise control returns to step 205 c. If at step 215 c the constant temperature control was not enabled, control simply moves to step 230 c, as shown in FIG. 2 c. It will be noted the output of the V/F open loop curve block in FIG. 3b is only the magnitude of the voltage to the motor. This is transferred to 3 phase voltage, taking account of the rotating electrical angle ⊖ of the motor.

As shown in FIG. 3 a, it will be understood the operation component 320 receives as an input a spindle speed command ω_(CMD) in RPM (revolutions per minute) as well as ω₁ spindle speed at breakpoint 1 (P₁) in RPM, V₁ voltage at breakpoint 1 (P₁) in volts (V), ω₂ spindle speed at breakpoint 2 (P₂) in RPM, V₂ which is the voltage at breakpoint 2 (P₂) in volts (V), ω₃ namely spindle speed at breakpoint 3 (P₃) in RPM, and V₃ voltage at breakpoint 3 (P3) in volts (V).

The V₂ value (voltage at breakpoint 2 (P₂)) shown in FIG. 3a and FIG. 3 b, is determined by the sum of outputs from the constant temperature controller as shown in FIG. 4.

FIG. 5 is a flow diagram illustrating a further embodiment of a method 500 of the present invention which may lie in software or firmware within hardware on a CNC system 100 or may reside in a computer associated with a system which controls operation of a motorised spindle 135. This embodiment of the invention allows for instances where constant temperature is maintained when the spindle speed is zero (i.e. when the spindle is stationary). This situation may occur when workpieces are being loaded to the machine and no grinding (for example) is taking place. The present embodiment together with processing component 3 (FIG. 4) reduces the need for warm-up between loading and grinding stages.

The method 500 begins at step 505, where a user may, via the user interface 105 of FIG. 1 a, enter a desired temperature set point for the motorised spindle 135.

Control then moves to step 510, where it is determined whether or not the motorised spindle has been activated (for example by the user via user interface 105).

In the event that the motorised spindle 135 is activated, control moves to step 515 in which it is determined whether the constant temperature controller 310 is enabled otherwise, control returns to step 505.

If step 515 determines the constant temperature controller 310 is enabled, then control moves to step 520, where it is determined whether or not the spindle speed is equal to zero. In the event the spindle speed is not equal to zero, then control then moves to step 525 in which the motorised spindle 135 is controlled via voltage provided from the drive for the motorised spindle 115 as per FIG. 1 a. The motorised spindle 135, as per FIG. 1 a, is fitted with an encoder/proxy switch 130 to provide feedback signals on the position or velocity of the motorized spindle 135 and temperature by the thermistor 140. As noted above, the drive 115 controls the position and speed of the motorised spindle 135 and may store data generated while the motorised spindle 135 is in operation.

If step 515 determined the constant temperature controller 310 is enabled and step 520 determined that the spindle speed is zero, control moves to step 540 in which the motorised spindle is controlled via constant temperature control at zero speed (V) as shown in FIG. 3a and processing component 3 in FIG. 4.

Steps 525 and 530 are carried out in the same way as corresponding steps 230 c and 220 c in FIG. 2 c.

As shown in FIG. 4, processing component 3 receives T_(measured) as an input which is the actual motor temperature in degrees and T_(set) which is the desired motor temperature set by the operator in degrees. The difference between these temperatures is an input for processing component 3. Processing component 3 provides its output voltage (V) for the spindle at zero speed.

Returning to FIG. 5, control then moves to step 535 where it is determined whether or not the cycle has ended and if it has, control moves to step 545, otherwise control returns to step 505. If at step 515 the constant temperature control was not enabled, control simply moves to step 530. It will be noted the output of the V/F open loop curve block in FIG. 3b is only the magnitude of the voltage to the motor. This is transferred to three phase voltage, taking account of the rotating electrical angle ⊖ of the motor.

It will be noted that due to the simplification of this proposed method, the motor temperature can only be possibly increased from the existing value. Temperature controllability at light load is better than heavy load. If the motor is already working at full load condition, then the temperature controllability of the proposed method cannot be applied. 

1. A method of controlling the temperature of an electric motor by adjusting the electric losses in the motor.
 2. The method of claim 1, including the steps of: (a) determining the required load on the motor and providing a first motor voltage to meet the required load; (b) providing a predetermined temperature set point for the motor; (c) determining the temperature of the motor; (d) comparing the temperature of the motor against the predetermined temperature set point; (e) determining, based on the temperature of the motor and the predetermined temperature set point, a secondary motor voltage; (f) adjusting the motor voltage based on the calculated voltage in steps (a) and (e); and (g) adjusting the motor load measurement based on the measured motor speed and actual motor voltage.
 3. The method of claim 1, wherein step (f) includes increasing the second motor voltage if the temperature is below the predetermined temperature set point.
 4. The method of claim 1, wherein step (f) includes decreasing the second motor voltage if the temperature is above the predetermined temperature set point.
 5. The method of claim 1, wherein the electric motor is an induction motor and step (f) includes varying the flux in the motor by varying the motor voltage.
 6. The method of claim 1, wherein the predetermined temperature set point is a temperature range.
 7. The method of claim 2, wherein at step (d), comparing the temperature of the motor against the predetermined temperature set point is determined over a predetermined time period.
 8. A method of controlling the temperature of a synchronous motor, wherein the losses are modified by varying a synchronous voltage in phase with the motor flux.
 9. The method of claim 8, wherein the method includes the steps of: (a) determining the required load on the motor and providing a first motor voltage to meet the required load; (b) providing a predetermined temperature set point for the motor; (c) determining the temperature of the motor; (d) comparing the temperature of the motor against the predetermined temperature set point; (e) adjusting the motor synchronous voltage in phase with the motor flux.
 10. A system for controlling the temperature of an electric motor by adjusting the electric losses in the motor.
 11. The system of claim 10, including: an interface for providing one or more parameters to a CNC component which controls one or more drive units and in turn one or more motors, the CNC component programmed to: (a) determine the required load on the motor and providing a first motor voltage to meet the required load; (b) provide a predetermined temperature set point for the motor; (c) determine the temperature of the motor; (d) compare the temperature of the motor against the predetermined temperature set point; (e) determine, based on the temperature of the motor and the predetermined temperature set point, a secondary motor voltage; (f) adjust the motor voltage based on the calculated voltage in steps (a) and (e); and (g) adjust the motor load measurement based on the measured motor speed and actual motor voltage.
 12. The system of claim 11, wherein the predetermined temperature set point for the motor of step (b) is set by the operator depending on the desired load sequence.
 13. The system of claim 11, wherein step (g) incorporates a motor datasheet associated with the motor, when adjusting the motor load measurement
 14. A system for controlling the temperature of a synchronous motor, wherein the losses are modified by varying a synchronous voltage in phase with the motor flux.
 15. The system of claim 14, further including: an interface for providing one or more parameters to a CNC component which controls one or more drive units and in turn one or more motors, the CNC component programmed to: (a) determine the required load on the motor and providing a first motor voltage to meet the required load; (b) provide a predetermined temperature set point for the motor; (c) determine the temperature of the motor; (d) compare the temperature of the motor against the predetermined temperature set point; and (e) adjust the motor synchronous voltage in phase with the motor flux.
 16. An electric motor control system including: an interface for providing one or more parameters to one or more drive units which regulates the temperature of one or more motors by adjusting the terminal voltage of the motor whilst maintaining specified speed and torque.
 17. The electric motor control system of claim 16, wherein the motor is integrated into a machine tool spindle.
 18. The electric motor control system of claim 17, wherein the motor is an induction motor.
 19. The electric motor control system of claim 17, wherein a motor flux is provided, the motor flux being provided by permanent magnets.
 20. The electric motor control system of claim 11, wherein the motor is a synchronous motor.
 21. The electric motor control system of claim 11 which uses the method of claim
 9. 22. A method of controlling the temperature of an electric motor having a motorised spindle and constant temperature controller including the steps of: (a) providing a desired temperature set point for the motorised spindle; (b) selectively applying, in response to the status of the constant temperature controller: (i) constant voltage/frequency to control the speed of a motor where the constant temperature controller is disabled; else (ii) a controlled voltage to the motor such that there is sufficient power to rotate the motor for the given speed and load and adjusting the temperature via the constant temperature controller.
 23. The method of claim 22, wherein the method further includes: determining the speed of the motorised spindle and in response to the speed of the motorised spindle being equal to zero; (i) controlling the motorised spindle via constant temperature control at zero speed; else if the speed is not zero: (ii) applying a controlled voltage to the motor such that there is sufficient power to rotate the motor for the given speed and load and adjusting the temperature via the constant temperature controller. 